package br.gov.cemaden.library.model;

import br.gov.cemaden.library.interfaces.MunicipioInterface;
import com.vividsolutions.jts.geom.Geometry;

/**
 * Abstraction of ger_municipio table in cemaden database
 *
 * @author alan
 * 
 * {@literal @}Entity
 * {@literal @}Table(name = "ger_municipio")
 * {@literal @}SequenceGenerator(name = "sequence", sequenceName = "ger_municipio_sequence")
 */
public abstract class BaseMunicipio implements MunicipioInterface{

    /**
     * <code>
     * {@literal @}Id
     * {@literal @}GeneratedValue(generator = "sequence", strategy = GenerationType.AUTO)
     * {@literal @}Column(name = "id_municipio", nullable = false, unique = true)
     * </code>
     */
    protected Long id;
        
    /**
     * <code>
     * {@literal @}Column(name = "cidade")
     * </code>
     */
    protected String cidade;
    
    /**
     * <code>
     * {@literal @}Column(name = "codibge")
     * </code>
     */
    protected Integer codIBGE;
    
    /**
     * <code>
     * {@literal @}Column(name = "uf")
     * </code>
     */
    protected String uf;
    
    /**
     * <code>
     * {@literal @}Column(name = "the_geom")
     * {@literal @}Type(type = "org.hibernate.spatial.GeometryType")
     * </code>
     */
    protected Geometry geometry;
    
    public BaseMunicipio(){}
            
    public void setId(Long id) {
        this.id = id;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }
    
    public void setCodIBGE(Integer codIBGE) {
        this.codIBGE = codIBGE;
    }    

    public void setUF(String uf) {
        this.uf = uf;
    }

    public void setGeometry(Geometry geometry) {
        this.geometry = geometry;
    }        
                
}
